From 7b0884cb2ddfdd58c7d72f97448524850379d118 Mon Sep 17 00:00:00 2001 From: "mafetter@fleming.research" Date: Mon, 21 Mar 2005 17:36:01 +0000 Subject: [PATCH] bitkeeper revision 1.1252 (423f0601ZuS2OaJ71fHZxF3wK4zUrQ) Cleanup after merge Signed-off-by: michael.fetterman@cl.cam.ac.uk --- .../arch/xen/configs/xen0_defconfig | 7 +++++-- xen/arch/x86/domain_build.c | 13 +++++++------ xen/include/xen/perfc_defn.h | 14 ++++++++++++++ 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/linux-2.6.10-xen-sparse/arch/xen/configs/xen0_defconfig b/linux-2.6.10-xen-sparse/arch/xen/configs/xen0_defconfig index d11f04b508..a736ad0d30 100644 --- a/linux-2.6.10-xen-sparse/arch/xen/configs/xen0_defconfig +++ b/linux-2.6.10-xen-sparse/arch/xen/configs/xen0_defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.10-xen0 -# Mon Feb 21 13:46:38 2005 +# Mon Mar 21 17:07:15 2005 # CONFIG_XEN=y CONFIG_ARCH_XEN=y @@ -13,13 +13,16 @@ CONFIG_NO_IDLE_HZ=y CONFIG_XEN_PRIVILEGED_GUEST=y CONFIG_XEN_PHYSDEV_ACCESS=y # CONFIG_XEN_BLKDEV_BACKEND is not set -# CONFIG_XEN_BLKDEV_TAP_BE is not set # CONFIG_XEN_NETDEV_BACKEND is not set CONFIG_XEN_BLKDEV_FRONTEND=y CONFIG_XEN_NETDEV_FRONTEND=y # CONFIG_XEN_NETDEV_FRONTEND_PIPELINED_TRANSMITTER is not set # CONFIG_XEN_BLKDEV_TAP is not set CONFIG_XEN_WRITABLE_PAGETABLES=y +CONFIG_XEN_SYSCALL_STATS=y +# CONFIG_XEN_DEBUG_NO_MMU_BATCHING is not set +# CONFIG_XEN_BATCH_MODE1 is not set +# CONFIG_XEN_BATCH_MODE2 is not set CONFIG_XEN_SHADOW_MODE=y CONFIG_XEN_SCRUB_PAGES=y CONFIG_X86=y diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c index 97f034543f..156d3e36f8 100644 --- a/xen/arch/x86/domain_build.c +++ b/xen/arch/x86/domain_build.c @@ -28,6 +28,9 @@ integer_param("dom0_mem", opt_dom0_mem); static unsigned int opt_dom0_shadow = 0; boolean_param("dom0_shadow", opt_dom0_shadow); +static unsigned int opt_dom0_translate = 0; +boolean_param("dom0_translate", opt_dom0_translate); + #if defined(__i386__) /* No ring-3 access in initial leaf page tables. */ #define L1_PROT (_PAGE_PRESENT|_PAGE_RW|_PAGE_ACCESSED) @@ -84,8 +87,6 @@ int construct_dom0(struct domain *d, l2_pgentry_t *l2tab = NULL, *l2start = NULL; l1_pgentry_t *l1tab = NULL, *l1start = NULL; - int translate_dom0 = 1; // HACK ALERT !! Force dom0 to run in shadow translate mode - /* * This fully describes the memory layout of the initial domain. All * *_start address are page-aligned, except v_start (and v_end) which are @@ -445,7 +446,7 @@ int construct_dom0(struct domain *d, _initrd_start, (_initrd_start+initrd_len+PAGE_SIZE-1) & PAGE_MASK); } - d->next_io_page = d->max_pages; + d->next_io_page = max_page; /* Set up start info area. */ si = (start_info_t *)vstartinfo_start; @@ -535,12 +536,12 @@ int construct_dom0(struct domain *d, new_thread(ed, dsi.v_kernentry, vstack_end, vstartinfo_start); - if ( opt_dom0_shadow || translate_dom0 ) + if ( opt_dom0_shadow || opt_dom0_translate ) { - shadow_mode_enable(d, (translate_dom0 + shadow_mode_enable(d, (opt_dom0_translate ? SHM_enable | SHM_translate : SHM_enable)); - if ( translate_dom0 ) + if ( opt_dom0_translate ) { // map this domain's p2m table into current page table, // so that we can easily access it. diff --git a/xen/include/xen/perfc_defn.h b/xen/include/xen/perfc_defn.h index 438f330497..3544c82e11 100644 --- a/xen/include/xen/perfc_defn.h +++ b/xen/include/xen/perfc_defn.h @@ -83,3 +83,17 @@ PERFCOUNTER_CPU(validate_pte_changes, "validate_pte makes changes") PERFCOUNTER_CPU(validate_pde_calls, "calls to validate_pde_change") PERFCOUNTER_CPU(validate_pde_changes, "validate_pde makes changes") PERFCOUNTER_CPU(shadow_get_page_fail, "shadow_get_page_from_l1e fails" ) +PERFCOUNTER_CPU(validate_hl2e_calls, "calls to validate_hl2e_change") +PERFCOUNTER_CPU(validate_hl2e_changes, "validate_hl2e makes changes") +PERFCOUNTER_CPU(exception_fixed, "pre-exception fixed") +PERFCOUNTER_CPU(gpfn_to_mfn_safe, "calls to gpfn_to_mfn_safe") +PERFSTATUS( writable_pte_predictions, "# writable pte predictions") +PERFCOUNTER_CPU(remove_write_access, "calls to remove_write_access") +PERFCOUNTER_CPU(remove_write_access_easy, "easy outs of remove_write_access") +PERFCOUNTER_CPU(remove_write_no_work, "no work in remove_write_access") +PERFCOUNTER_CPU(remove_write_not_writable, "remove_write non-writable page") +PERFCOUNTER_CPU(remove_write_fast_exit, "remove_write hit predicted entry") +PERFCOUNTER_CPU(remove_write_predicted, "remove_write predict hit&exit") +PERFCOUNTER_CPU(remove_write_bad_prediction, "remove_write bad prediction") +PERFCOUNTER_CPU(write_fault_bail, "sf bailed due to write_fault") +PERFCOUNTER_CPU(read_fault_bail, "sf bailed due to read_fault") -- 2.30.2